The present disclosure generally relates to computer animation, and more particularly to simulation of light on an object for rendering an animated scene.
In computer graphics, some desired effects are created by modeling light and its interactions with objects present in a virtual space. A geometric model describing lighting, objects, effects, etc. positioned in the virtual space is provided to a renderer. The renderer processes the geometric model to provide images, e.g., two-dimensional images of what might be viewed from a camera within the virtual space.
In some rendering, it is sufficient to model every object as being a solid, opaque object, wherein light reflects or diffuses off just the surface of the object. However, for some additional realism, it is often desirable to model light diffusing through at least a part of the subsurface of an object or to deal with representations of translucent materials, such as skin, paper, wax, fluids or other examples.
Rendering translucent materials efficiently in computer graphics is a major challenge and requires specialized methods. The light transport inside a scattering medium can be described by a Bidirectional Surface Scattering Reflectance Distribution Function (BSSRDF), which defines how light scatters from an entry point on the surface of an object of scattering material to an exit point of on the surface of the object. Due to the non-localized scattering inside the medium, the BSSRDF is higher dimensional than a Bidirectional Reflectance Distribution Function (BRDF). Due to the many scattering events of light inside the scattering medium, the computational resources to evaluate the solution exactly are enormous, and approximations are applied to render translucent media.
A brute-force but fully correct method to calculate subsurface scattering is to apply volumetric path tracing. But due to the nature of scattering, a huge number of paths have to be calculated to achieve a correct and noise-free result. Alternatively, many approximation methods model light transport as a diffusion process, which can be interpreted as an approximation for a large number of scattering events. However, current techniques are computationally time consuming, make limiting assumptions about the material, and have difficulty dealing with non-normal incident beams.
Therefore, it is desirable to provide new techniques for simulating the effects of light on a surface of a translucent object.